﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls.Ribbon; 

namespace AIPASoft.Interfaces.BusinessDomain
{
    public interface IBusinessDomain 
    {
        IApplicationManager ApplicationManager { get; set; }
        IDomainManager DomainManager { get; set; }
        
        object[] DomainRequires { get; set; }
         
        string DomainName { get; set; }
        Guid DomainID { get; set; }


        RibbonTab DomainTab { get; set; }
        UIElement ContentWindow { get; set; }
        RibbonTab GetDomainTab();

        void StartInitialization();

        void FinishInitialization();

        void FreezeDomain();

        void UnFreezeDomain();

    }
}
